Query Data
查询实体数据
entityQuery.findUnique
根据 params 的参数,再结合产品对该字段内置的查询参数进行数据查询。如果查询结果只有唯一的一条记录,则返回查询结果。否则返回空。
参数:
- params: 
FindParams 
返回:Promise<Object>
entityQuery.findOne
根据 params 的参数,再结合产品对该字段内置的查询参数进行数据查询。如果查询结果中有记录,则返回查询结果的第一行数据。否则返回空。
参数:
- params: 
FindParams 
返回:Promise<Object>
entityQuery.findMany
根据 params 的参数,再结合产品对该字段内置的查询参数进行数据查询。
参数:
- params: 
FindParams 
返回:Promise<Object[]>
entityQuery.aggregate
根据 params 的参数,再结合产品对该字段内置的查询参数进行数据聚合计算查询。
参数:
- params: 
AggregateParams 
返回:Promise<Object>
FindParams
type IPrimaryValue = number | string | Date | boolean;
// gql查询结构化定义
type IFindParams = {
  /** 一次查询的最大条数 */  
  limit?: number
  /**
   *  查询条件:
   *  IFindWhereParams 入参为结构化方式
   *  string 入参是字符串,如"name = '张三' AND age > 18"
   *  两种方式可以选任何一种使用
   *  string 也可以配合bindVars使用
   */  
  where?: IFindWhereParams | string
  /** 排序规则  */  
  orderBy?: IFindSortParams
  /** 查询返回的字段集合 */  
  select?: ISelectParams
  /** 
   * 配合where中有占位符时,变量定义
   * 如:
   * where: "name = :V0 AND age > :V1"
   * bindVars: [{name:"V0", value:"张三"}, {name: "age", value:10}]
   */  
  bindVars?: {name: string, value: any}  
}
/** 定义操作符和value关系 */
type IFindOperatorValue = { 
  /** 等于, "=" */
  equals?: IPrimaryValue 
  /** 不等于, "!="  */  
  not?: IPrimaryValue
  /** 包含, "in" */  
  in?: IPrimaryValue[]
  /** 不包含, "not in" */  
  notIn?: IPrimaryValue[]
  /** 在两个数之间 */  
  between?: [IPrimaryValue, IPrimaryValue]
  /** 小于 */  
  lt?: IPrimaryValue
  /** 小于等于 */  
  lte?: IPrimaryValue
  /** 大于 */  
  gt?: IPrimaryValue
  /** 大于等于 */
  gte?: IPrimaryValue
  /** 模糊匹配 */  
  like?: string
  /** 匹配给定字符开头的内容 */
  startsWith?: string
  /** 匹配给定字符结尾的内容 */  
  endsWith?: string
  
  AND?: MapParams[]
  OR?: MapParams[]
  NOT?: MapParams
} & {[key: string]: IPrimaryValue | IPrimaryValue[]}
type IWhereValue = IPrimaryValue | IPrimaryValue[] | IFindWhereParams | IFindOperatorValue
type MapParams = IFindWhereParams
type IFindWhereParams = {
  [key: string]: IPrimaryValue | IPrimaryValue[] | Array<MapParams> | MapParams
  AND?: Array<MapParams>
  OR?: Array<MapParams>
  NOT?: Array<MapParams>
}
type IFindSortParams = Record<string, 'desc' | 'asc'>
type ISelectParams = Record<string, boolean | number | {[key: string]: ISelectParams}>
AggregateParams
type IAggregateParam = Record<string, boolean | number | string | null | undefined>
type IAggregateParams = Partial<{
  count: IAggregateParam
  avg: IAggregateParam
  sum: IAggregateParam
  min: IAggregateParam
  max: IAggregateParam
  first: IAggregateParam
  last: IAggregateParam
}>